import axios from "axios";
//第一个get传参方式 ?传参
// axios.get('http://web-design.cn//axiosdemo/getapi.php?name=zhansan&age=20&sex=男')
//     .then(res=>{
//         console.log(res);
//     });
//第二种get传参方式 {params:{name:'zhansan',age:20,sex:'男'}}
// axios.get('http://web-design.cn//axiosdemo/getapi.php',{params:{name:'zhansan',age:20,sex:'男'}})
//     .then(res=>{
//         console.log(res);
//     });
//post传参
// axios.post('http://web-design.cn//axiosdemo/getapi.php',"name=zhansan&age=20&sex=男")
//     .then(res=>{
//         console.log(res);
//     });

//axios的并发请求处理
// axios.all([
//     axios.get('http://web-design.cn//axiosdemo/getapi.php?name=zhansan&age=20&sex=男'),
//     axios.post('http://web-design.cn//axiosdemo/getapi.php',"name=zhansan1&age=21&sex=女"),
// ]).then(
//     axios.spread((res1,res2)=>{
//         console.log(res1);
//         console.log(res2);
//     })
// ).catch(err=>{
//     console.log('第一个');
//     console.log('第二个');
// })

//全局设置
    axios.defaults.baseURL="http://web-design.cn/axiosdemo";//设置url
    axios.defaults.timeout=5000;//设置超时时间
    axios.defaults.headers.post['Content-Type']='application/x-www-form-urlencoded';//设置post传递的头信息

// //整理数据 请求的串行化
// axios.defaults.transformRequest = function (data) {
//     data = JSON.stringify(data);
//     return data;
// };
//
// //使用
// axios.post('getapi.php',"name=zhansan&age=20&sex=男")
//     .then(res=>{
//         console.log(res);
//     }).catch(err=>{
//     console.log('error');
//     console.log(err);
// });
//实例封装
let local = axios.create({
    baseURL:'http://web-design.cn/axiosdemo',//请求的域名基本地址
    timeout:5000,//后端定义的超时时长（默认是1000ms）
    method:"GET",//
    headers: {
        'Content-Type': 'application/x-www-form-urlencoded'
    },//设置请求头
    params:'name=zhansan&age=20&sex=男',//请求的参数拼接在url中
    // data:'name=zhansan&age=20&sex=男'//请求的参数放在request body中
})
//axios的拦截器应用 请求request
local.interceptors.request.use(config=>{
    console.log("请求成功");
    return config;
},err=>{
    console.log('请求失败');
    console.log(err);
})
//axios的拦截器应用 响应response
local.interceptors.response.use(config=>{
    console.log("响应成功");
    return config;
},err=>{
    console.log('响应失败');
    console.log(err);
})
//这是全部配置几乎都用上了
local({url:'getapi.php'}).then(res=>{
        console.log(res);
    }).catch(err=>{
    console.log('error');
    console.log(err);
});
